home *** CD-ROM | disk | FTP | other *** search
- Rem * Title : 500 Sprite Demo
- Rem * Author : DBS-LB
- Rem * Date : 20th August 2000
- rem Five Hundred Sprite Demo
- hide mouse
- sync rate 0
- sync on
-
- rem Number of sprites
- spritemax=500
-
- rem Make simple sun sprite
- create bitmap 1,256,128
- for r=0 to 359
- ink rgb(255,rnd(100)+155,0),0
- length=rnd(30)+33
- line 64,64,64+cos(r)*length,64+sin(r)*length
- line 64+1,64+1,64+1+cos(r)*length,64+1+sin(r)*length
- next r
- ink 0,0
- circle 64-16,64,16 : circle 64-16,64-8,8
- circle 64+16,64,16 : circle 64+16,64-8,8
- line 64-16,88,64+16,88
- blur bitmap 1,2
- copy bitmap 1,0,0,127,127,1,128,0,128+31,0+31
- get image 1,128,0,128+32,0+32
- for i=2 to (spritemax/100)
- fade bitmap 1,66
- get image i,128,0,128+32,0+32
- next i
- delete bitmap 1
-
- rem Make sprites (create in reverse order)
- for s=1 to spritemax
- sorder=(spritemax+1)-s
-
- rem Tells the sprite NOT to save its background
- set sprite sorder,0,1
-
- sprite sorder,rnd(640),96+rnd(320),1
- offset sprite sorder,16,16
- next s
-
- rem Set text
- set text size 30
- set text font "Arial"
- ink rgb(255,255,255),0
-
- rem Main loop
- do
-
- rem Clear screen
- cls 0
-
- rem User prompt
- ink rgb(0,0,128),0 :box 0,0,639,29 : ink rgb(255,255,255),0
- center text 320,0,str$(spritemax)+" Sprites - screen FPS = "+str$(screen fps())
-
- rem Move sprites
- for s=1 to spritemax
- if s>=spritemax-(spritemax/5)
- x=sprite x(s)+(rnd(2)-1)*3
- y=sprite y(s)-3-rnd(3)
- if y<48 then y=480+16
- else
- x=sprite x(s)+(rnd(2)-1)*3
- y=sprite y(s)+(rnd(2)-1)*3
- if y<48 then y=48
- endif
- i=((99+s)/100)
- sprite s,x,y,i
- next s
-
- rem Update screen
- sync
-
- rem End of loop
- loop
-